package com.taptech.doufu.ui.view.theme.read;

import android.util.SparseArray;

/**
 * Created by Wyatt on 2017/11/25/025.
 */

public class ReadTheme {
    //主题类型
    private int themeType = 1;
    //护眼模式蒙版颜色
    private int eyesViewColor;
    //菜单背景
    private int menuBgColor;
    //书页背景颜色或图片
    private int contentBg;
    //内容字体颜色
    private int contentFontColor;
    //标题颜色
    private int titleFontColor;
    //状态栏字体颜色
    private int statusBarFontColor;
    //分割线颜色
    private int lineColor;

    //进度条前景颜色
    private int seekBarProgressColor;
    //进度条滑块图片
    private int seekBarImage;

    //顶部菜单
    private TopMenuTheme topMenuTheme;
    //底部菜单
    private BottomMenuTheme bottomMenuTheme;
    //二级菜单
    private SecondMenuTheme secondMenuTheme;
    //顶部更多操作
    private MoreOperationTheme moreOperationTheme;
    //电池信息
    private BatteryTheme batteryTheme;
    //购买控件
    private PayTheme payTheme;
    //自动阅读
    private AutoPlayTheme autoPlayTheme;
    //主题选择列表
    private SparseArray<Integer> themeSelectArray;
    //主题选择标识
    private int themeSelectIcon;

    //图片不透明度
    private float ivAlpha;

    //最底层背景，用于主题切换动画
    private int bg;

    public void setThemeType(int themeType) {
        this.themeType = themeType;
    }


    public AutoPlayTheme getAutoPlayTheme() {
        return autoPlayTheme;
    }

    public BatteryTheme getBatteryTheme() {
        return batteryTheme;
    }

    public int getEyesViewColor() {
        return eyesViewColor;
    }

    public int getThemeSelectIcon() {
        return themeSelectIcon;
    }

    public SparseArray<Integer> getThemeSelectArray() {
        return themeSelectArray;
    }

    public int getThemeType() {
        return themeType;
    }

    public int getMenuBgColor() {
        return menuBgColor;
    }

    public int getBg() {
        return bg;
    }

    public int getContentBg() {
        return contentBg;
    }

    public int getContentFontColor() {
        return contentFontColor;
    }

    public int getTitleFontColor() {
        return titleFontColor;
    }

    public int getStatusBarFontColor() {
        return statusBarFontColor;
    }

    public int getLineColor() {
        return lineColor;
    }


    public float getIvAlpha() {
        return ivAlpha;
    }

    public int getSeekBarProgressColor() {
        return seekBarProgressColor;
    }

    public int getSeekBarImage() {
        return seekBarImage;
    }

    public TopMenuTheme getTopMenuTheme() {
        return topMenuTheme;
    }

    public BottomMenuTheme getBottomMenuTheme() {
        return bottomMenuTheme;
    }

    public SecondMenuTheme getSecondMenuTheme() {
        return secondMenuTheme;
    }

    public MoreOperationTheme getMoreOperationTheme() {
        return moreOperationTheme;
    }

    public PayTheme getPayTheme() {
        return payTheme;
    }

    public ReadTheme(int themeType, int menuBgColor, int contentBg, int contentFontColor,
                     int titleFontColor, int statusBarFontColor, int lineColor,
                     int seekBarProgressColor, int seekBarImage, TopMenuTheme topMenuTheme,
                     BottomMenuTheme bottomMenuTheme, SecondMenuTheme secondMenuTheme,
                     MoreOperationTheme moreOperationTheme, SparseArray<Integer> themeSelectArray,
                     int themeSelectIcon, int eyesViewColor,PayTheme payTheme,float ivAlpha,
                     BatteryTheme batteryTheme,AutoPlayTheme autoPlayTheme,int bg) {
        this.themeType = themeType;
        this.menuBgColor = menuBgColor;
        this.contentBg = contentBg;
        this.contentFontColor = contentFontColor;
        this.titleFontColor = titleFontColor;
        this.statusBarFontColor = statusBarFontColor;
        this.lineColor = lineColor;
        this.seekBarProgressColor = seekBarProgressColor;
        this.seekBarImage = seekBarImage;
        this.topMenuTheme = topMenuTheme;
        this.bottomMenuTheme = bottomMenuTheme;
        this.secondMenuTheme = secondMenuTheme;
        this.moreOperationTheme = moreOperationTheme;
        this.themeSelectArray = themeSelectArray;
        this.themeSelectIcon = themeSelectIcon;
        this.eyesViewColor = eyesViewColor;
        this.payTheme = payTheme;
        this.ivAlpha = ivAlpha;
        this.batteryTheme = batteryTheme;
        this.autoPlayTheme = autoPlayTheme;
        this.bg = bg;
    }


    public static class BatteryTheme{
        //电量图片
        private int batteryOne;
        private int batteryTwo;
        private int batteryThree;
        private int batteryFour;
        private int batteryFive;
        private int batterySix;
        private int batteryAdd;
        public BatteryTheme(int batteryOne,int batteryTwo,int batteryThree,
                            int batteryFour,int batteryFive,int batterySix,int batteryAdd){
            this.batteryOne = batteryOne;
            this.batteryTwo = batteryTwo;
            this.batteryThree = batteryThree;
            this.batteryFour = batteryFour;
            this.batteryFive = batteryFive;
            this.batterySix = batterySix;
            this.batteryAdd = batteryAdd;
        }

        public int getBatteryOne() {
            return batteryOne;
        }

        public int getBatteryTwo() {
            return batteryTwo;
        }

        public int getBatteryThree() {
            return batteryThree;
        }

        public int getBatteryFour() {
            return batteryFour;
        }

        public int getBatteryFive() {
            return batteryFive;
        }

        public int getBatterySix() {
            return batterySix;
        }

        public int getBatteryAdd() {
            return batteryAdd;
        }
    }

    public static class PayTheme{
        //描述文字颜色
        private int tvDescColor;
        //自动购买未选中图标
        private int ivAutoPayNone;
        //自动购买已选中图标
        private int ivAutoPaySelect;
        //按钮背景
        private int btnBg;
        private int btn2Bg;
        //按钮字体颜色
        private int btnFontColor;
        private int btn2FontColor;
        //删除线字体颜色
        private int deleteLineFontColor;
        //小图标透明度
        private float ivAlpha;

        public PayTheme(int tvDescColor, int ivAutoPayNone, int ivAutoPaySelect,
                        int btnBg, int btnFontColor,int deleteLineFontColor,float ivAlpha,int btn2Bg,int btn2FontColor) {
            this.tvDescColor = tvDescColor;
            this.ivAutoPayNone = ivAutoPayNone;
            this.ivAutoPaySelect = ivAutoPaySelect;
            this.btnBg = btnBg;
            this.btnFontColor = btnFontColor;
            this.deleteLineFontColor = deleteLineFontColor;
            this.ivAlpha = ivAlpha;
            this.btn2Bg = btn2Bg;
            this.btn2FontColor = btn2FontColor;
        }


        public int getBtn2Bg() {
            return btn2Bg;
        }

        public int getBtn2FontColor() {
            return btn2FontColor;
        }

        public float getIvAlpha() {
            return ivAlpha;
        }

        public int getDeleteLineFontColor() {
            return deleteLineFontColor;
        }

        public int getTvDescColor() {
            return tvDescColor;
        }

        public int getIvAutoPayNone() {
            return ivAutoPayNone;
        }

        public int getIvAutoPaySelect() {
            return ivAutoPaySelect;
        }

        public int getBtnBg() {
            return btnBg;
        }

        public int getBtnFontColor() {
            return btnFontColor;
        }
    }

    public static class TopMenuTheme{
        //返回按钮图片
        private int backImage;
        //下载按钮图片
        private int dowmloadImage;
        //礼物按钮图片
        private int giftImage;
        //更多操作按钮图片
        private int moreOperationImage;

        public TopMenuTheme(int backImage,int dowmloadImage,int giftImage,int moreOperationImage) {
            this.backImage = backImage;
            this.dowmloadImage = dowmloadImage;
            this.giftImage = giftImage;
            this.moreOperationImage = moreOperationImage;
        }

        public int getBackImage() {
            return backImage;
        }

        public int getDowmloadImage() {
            return dowmloadImage;
        }

        public int getGiftImage() {
            return giftImage;
        }

        public int getMoreOperationImage() {
            return moreOperationImage;
        }
    }

    public static class MoreOperationTheme{
        private int bgImage;
        //收藏图片
        private int havImageSelect;
        //未收藏图片
        private int havImageUnSelect;
        //分享图片
        private int shareImage;
        //举报图片
        private int reportImage;
        //小说详情图片
        private int novelInfo;
        //字体颜色
        private int fontColor;
        public MoreOperationTheme(int bgImage,int havImageSelect,int havImageUnSelect,int shareImage,
                                  int reportImage,int novelInfo,int fontColor) {
            this.bgImage = bgImage;
            this.havImageUnSelect = havImageUnSelect;
            this.havImageSelect = havImageSelect;
            this.shareImage = shareImage;
            this.reportImage = reportImage;
            this.novelInfo = novelInfo;
            this.fontColor = fontColor;
        }

        public int getBgImage() {
            return bgImage;
        }

        public int getHavImageUnSelect() {
            return havImageUnSelect;
        }

        public int getShareImage() {
            return shareImage;
        }

        public int getReportImage() {
            return reportImage;
        }

        public int getNovelInfo() {
            return novelInfo;
        }

        public int getFontColor() {
            return fontColor;
        }

        public int getHavImageSelect() {
            return havImageSelect;
        }
    }

    public static class AutoPlayTheme{
        private int titleFontColor;
        private int selectFontColor;
        private int unSelectFontColor;
        private int nomalFontColor;
        private int topProgressBgColor;

        public AutoPlayTheme(int titleFontColor,int selectFontColor,
                             int unSelectFontColor,int nomalFontColor,
                             int topProgressBgColor){
            this.titleFontColor = titleFontColor;
            this.selectFontColor = selectFontColor;
            this.unSelectFontColor = unSelectFontColor;
            this.nomalFontColor = nomalFontColor;
            this.topProgressBgColor = topProgressBgColor;
        }

        public int getNomalFontColor() {
            return nomalFontColor;
        }

        public int getSelectFontColor() {
            return selectFontColor;
        }

        public int getTitleFontColor() {
            return titleFontColor;
        }

        public int getTopProgressBgColor() {
            return topProgressBgColor;
        }

        public int getUnSelectFontColor() {
            return unSelectFontColor;
        }
    }

    public static class BottomMenuTheme{
        //上一章图片
        private int preImage;
        //下一章图片
        private int nextImage;
        //目录图片
        private int catalogImage;
        //夜间图片
        private int nightImage;
        //设置图片
        private int setImage;
        //评论图片
        private int commentImage;
        //评论小红点背景
        private int commentRedDotBg;
        //评论小红点字色
        private int commentRedDotFontColor;
        //文字颜色
        private int fontColor;
        public BottomMenuTheme(int preImage,int nextImage,int catalogImage,
                               int nightImage,int setImage,int commentImage,int fontColor,
                               int commentRedDotBg,int commentRedDotFontColor) {
            this.preImage = preImage;
            this.nextImage = nextImage;
            this.catalogImage =catalogImage;
            this.nightImage = nightImage;
            this.setImage = setImage;
            this.commentImage = commentImage;
            this.fontColor = fontColor;
            this.commentRedDotBg = commentRedDotBg;
            this.commentRedDotFontColor = commentRedDotFontColor;
        }

        public int getCommentRedDotBg() {
            return commentRedDotBg;
        }

        public int getCommentRedDotFontColor() {
            return commentRedDotFontColor;
        }

        public int getPreImage() {
            return preImage;
        }

        public int getNextImage() {
            return nextImage;
        }

        public int getCatalogImage() {
            return catalogImage;
        }

        public int getNightImage() {
            return nightImage;
        }

        public int getSetImage() {
            return setImage;
        }

        public int getCommentImage() {
            return commentImage;
        }

        public int getFontColor() {
            return fontColor;
        }
    }

    public static class SecondMenuTheme{
        //降低亮度图片
        private int lowLightImage;
        //增强亮度图片
        private int highLightImage;
        //选中系统亮度字体颜色
        private int sysLightFCSelect;
        //未选中系统亮度字体颜色
        private int sysLightFCUnSelect;
        //系统亮度背景
        private int sysLightBg;
        //增大字体图片
        private int addFontSizeImage;
        //减小字体图片
        private int subFontSizeImage;
        //动画翻页图片
        private int changePageImage;
        //护眼模式图片
        private int protectEyesImage;
        //自动阅读图片
        private int autoReadImage;
        //更多阅读设置图片
        private int moreReadSetImage;
        //字体颜色
        private int fontColor;
        //主题选择列表的透明度
        private float themeListAlpha;

        public SecondMenuTheme(int lowLightImage,int highLightImage,int addFontSizeImage,
                               int subFontSizeImage,int changePageImage,int protectEyesImage,
                               int autoReadImage,int moreReadSetImage,int fontColor,float themeListAlpha,
                               int sysLightFCSelect,int sysLightFCUnSelect,int sysLightBg) {
            this.lowLightImage = lowLightImage;
            this.highLightImage = highLightImage;
            this.addFontSizeImage = addFontSizeImage;
            this.subFontSizeImage = subFontSizeImage;
            this.changePageImage = changePageImage;
            this.protectEyesImage = protectEyesImage;
            this.autoReadImage = autoReadImage;
            this.moreReadSetImage = moreReadSetImage;
            this.fontColor = fontColor;
            this.themeListAlpha = themeListAlpha;
            this.sysLightFCSelect = sysLightFCSelect;
            this.sysLightFCUnSelect = sysLightFCUnSelect;
            this.sysLightBg = sysLightBg;
        }

        public int getSysLightFCSelect() {
            return sysLightFCSelect;
        }

        public int getSysLightFCUnSelect() {
            return sysLightFCUnSelect;
        }

        public int getSysLightBg() {
            return sysLightBg;
        }

        public float getThemeListAlpha() {
            return themeListAlpha;
        }

        public int getLowLightImage() {
            return lowLightImage;
        }

        public int getHighLightImage() {
            return highLightImage;
        }

        public int getAddFontSizeImage() {
            return addFontSizeImage;
        }

        public int getSubFontSizeImage() {
            return subFontSizeImage;
        }

        public int getChangePageImage() {
            return changePageImage;
        }

        public int getProtectEyesImage() {
            return protectEyesImage;
        }

        public int getAutoReadImage() {
            return autoReadImage;
        }

        public int getMoreReadSetImage() {
            return moreReadSetImage;
        }

        public int getFontColor() {
            return fontColor;
        }
    }


}
